import cv2
import glob
import numpy as np

j = 0  # 对识别出信息的图片计数
save_path = 'C:\\Users\\Victor\\Desktop\\test\\'
# 实例化
detect_obj = cv2.QRCodeDetector()
# 获取固定路径下的所有jpg格式图片
path = glob.glob(r"C:\Users\Victor\Desktop\cell\*.jpg")
for i in range(len(path)):
    # 加载图片
    if i < 34:
        img = cv2.imread(path[i])
        # QR检测和解析
        qr_info, points, qr_img = detect_obj.detectAndDecode(img)
        # 打印图片路径
        print(path[i])
        # 打印解码信息
        print('qr_info:', qr_info)
        if qr_info != "":
            j = j + 1
            # 可视化检测效果，绘制其外接矩形
            cv2.drawContours(img, [np.int32(points)], 0, (0, 0, 255), 2)
            # 批量保存检测出来并绘制外接矩形的图片
            cv2.imwrite(save_path + str(i) + '.jpg', img)
print('检出个数', j, '；总数为34个')
print('检测准确率为', j / 34)
